function animate(obj, target, callback) {
    // console.log(callback);   相当于给callback=function(){} 操作
    clearInterval(obj.timer);    // 让之前的事件清空
    obj.timer = setInterval(function () {
        // 步长值写在函数里面
        // var step = Math.ceil((target - obj.offsetLeft) / 10);
        // Math.cell() 浮点数取大值函数     Math.floor() 浮点数取小值函数
        var step = (target - obj.offsetLeft) / 10;
        var step = step > 0 ? Math.ceil(step) : Math.floor(step);
        if (obj.offsetLeft == target) {
            clearInterval(obj.timer);
            // 动画效果结束执行回调函数
            // if (callback) {  // 判断是否有回调函数
            //     callback();
            // }

            callback && callback();
            // 如果有参数传进来--> 执行运算符后面的语句，否则函数不会执行
        }
        // 制作缓冲动画
        // 把每次加 1 改成每一次的步长改成更小的值   参考公式（目标位置 - 当前的位置）/10
        obj.style.left = obj.offsetLeft + step + 'px';
    }, 15);
}